java 利用Comparator 实现自定义排序
Comparator 是一个java.util 包下的接口,它提供一个compare() 方法让我们来自己实现排序方式
废话不多说,看demo,demo就是最好的文档。
第一种方式:
实现Comparable 接口,重写compareTo 方法,然后调用Collections.sort(list) 方法即可
package top.lrshuai.blog.util; |
第二种方式:
不用实现Comparable 接口,但在排序的时候在实现Comparable 接口
package top.lrshuai.blog.util; |
总结:
一、上面的排序方式都是:按照level 降序排序,其次按照 userName 升序,如果你有多个参数比较就在compare 里继续在else 里写就可以了。
二、关于return 的问题
1、int 类型的比较
return o1.getLevel() < o2.getLevel() ? 1:-1; //这个是按照 Level 降序排序(大到小) |
2、string 类型的比较
// 可以这么理解,compare(参数1,参数2) |